Release of version 1.0.43 (November 18th 2000) * Added the YacasNotebook directory with the emacs shell to the repository. * We have support for BeOS! Thanks to Eugenia Loli. * Serious bugfix: the ^ operator wasn't working like it should. It was mapped to BitXor, and its precedence was wrong. Release of version 1.0.42 (November 12th 2000) * Allowed CForm to accept if (predicate) body; and if (predicate) body else other; These routines need to be written still, however, for them to also work in Yacas itself. * cleaned up some code. * Speedup of 40% of general Yacas execution. * Some improvements to the logic theorem prover so it can handle (a>b)-type epressions. * added support for annotating expressions, with GetExtraInfo and SetExtraInfo. * Initial checkin into sourceforge CVS. Thanks to Vladimir Livshits! * Fixed some windows compilation problems. ElfDll being explicitly mentioned in mathcommands3.cc, and explicitly including elfdll.h. * added initial versions for the c-like &, | % and ^ operators, and if (...) ... else ... . This will probably make it possible in the future to write code that is a lot more readable than If(..., ..., ...). The else clause binds to the last if, just like in c. So this means you can now enter expressions like: if(3 < 3) a else if (3 > 3) b else c; Release of version 1.0.41 (September 8th 2000) * made expressions like a[2][3] return unevaluated if a is not a matrix (just like a[1] in case a is not a vector). * GnuPlot can now plot multiple functions (pass a list of functions on to GnuPlot to achieve this). * For some reason PrettyForm didn't evaluate its argument any more. This has been changed back, so PrettyForm(%) works again. Release of version 1.0.40 (August 21st 2000) * made some changes to make it compile on IRIX again. Thanks to Daniel Richard G. * Added the Sign function. * improved Solve, Sqrt in order for EigenVectors to work better. * separate section: configuring yacas through .yacasrc: HistorySize, Help, PrettyPrinter,DefaultDirectory, * Apart now works correctly on rational numbers * verbose mode: V(expression) can now show internal results that might be useful to the user. Solve uses this. * We can now run Yacas from within emacs! Thanks to Jay Belanger. See the file yacas.el for more information. Release of version 1.0.39 (august 10th 2000) * added support for dealing with structs in the plugin system. Also, the stub generator now automatically generates documentation on the interface it is generating. * started on opengl/glut plugin * the Windows version now also supports plugins! Thanks go to James Gilbertson. * started on forth interpreter plugin. This will allow on-the-fly compilation to forth code that can immediately be executed. * Mod(2,0) gave the wrong error. * ^c now cancels the current calculation (if calculating), or quits yacas if currently on the command line. * enable automatically deleting CArrayGrower : CDeletingArrayGrower * added tensors experimental to inprogress/, and moved norm there too * BUGFIX: plugin support for integers didn't allow returning negative integers. * install .so files in plugins/ dir, and be able to load from there. * factoring polynomials has been fixed. Factor((x^2+1)*(x^2+4)) will now return a correct factorization. * Implemented HistorySize(depth), which specifies the number of lines that should be stored in the ~/.yacas_history file. * fixed partial fraction expansion! It turned out to be a bug in the function Monic, which didn't return the correct result if the lowest order term was non-constant. Monic(x^3+x^2), Apart(1/(x^2+1)), Integrate(x,a,b)1/(x^2) now thus work. This was found with Apart((x^3+4*x^2-x-2)/(x^4-x^2),x) * better bracketing of expressions containing minus signs. * changed #YB# and #YE# to for better cooperation with html. Release of version 1.0.38 (July 9th 2000) * intro.html generated again. * Precision(n) generates an error if n isn't a positive integer. * A:=B:=1 now works as required (A and B get assigned 1) * prefix operators can now be defined with a precedence. This is used with for instance "-". -x^2 is now treated as -(x^2) and not as (-x)^2 * The "Not" command is now treated as a prefix operator. * The And, Not and Or operators now return unevaluated if they encounter an argument that is neither True nor False. * Implemented a TraceStack, which shows the call stack just before the limit is reached. This has to be documented still! * changed the operators in the logic prover from ~, |, etc. to And, Or and Not. * new target in the make file in the src/ directory: 'depend'. make depend builds a file depend.dep using the -MM flag of gcc. * changed the system so when you type '??' it calls Help(), and if you type ?f it calls Help(f). Help() and Help(f) are defined in yacasinit, and can be overridden in ~/.yacasrc * Implemented TraceStack(expression), which shows the top of the stack, just before an error occurred. * Improved error reporting: for internal functions the function generating the error is now also shown. * implemented PatchLoad, which does a php-style load of a file. The contents of the file are read in and printed to screen, except everything between #YB# and #YE#, which gets evaluated. So print statements can be put there to put generic content. * Implemented PatchString (which does the same as PatchLoad, but for strings). * moved manicon.html to the distro. * Initial release of a plugin interface. * implemented DllLoad and SetHelpBrowser. * documented PatchLoad, PatchString, SetHelpBrowser, TraceStack, and the plugin structure (preliminary), which can be found in the programmers reference.